草庐IT

python - Django 模型和 Python 属性

全部标签

ruby - 将 initialize() args 设置为属性的快捷方式?

这是一个常见的初始化模式:definitialize(title,val,type)@title,@val,@type=title,val,typeend是否有等价于“获取每个参数,创建同名属性,并将该属性设置为参数值”的快捷方式?我正在寻找无gem的解决方案。 最佳答案 您将失去检查错误参数的功能,但可以这样做:definitialize(*args)@title,@val,@type=argsend但是如果你反复这样做,那么你的代码就不对了。您应该更好地重新设计API以采用命名参数:definitialize(title:,va

ruby-on-rails - 将属性验证为仅整数

product.rb模型文件:classProduct=0)?true:false}defprice=(input)input.delete!("$")superendend我希望库存仅为整数。当我提交带有浮点值的股票时说34.48然后在服务器日志中插入sqlcmd,我只看到34,它没有达到上面的验证条件,即使我发送float,验证条件怎么可能为真.(Rails新手,希望这个问题有意义)。 最佳答案 检查validates_numericality_of中整数的功能已经存在-只需将:only_integer设置为true您可以根据r

ruby-on-rails - 将模型管理添加到 Active Admin - Rails 3

我对Rails和ActiveAdmin还很陌生。我希望有一个很像Django的管理界面,带有我的应用程序模型,这样我就可以管理产品和其他东西。到目前为止,我有admin_usersurl,我可以在其中添加或删除我的应用程序的管理员用户,这太棒了。我正在使用Rails3,我想知道是否可以在用户之外添加一个新菜单,以便我可以从dashboard管理其他模型我试过railsgenerateactive_admin:resourceProduct它在app/admin/上创建了一个名为product.rb的文件,但它不起作用,这是我的Product模型product.rbclassProduc

ruby-on-rails - 是否有任何方法可用于查找对象的已更改属性?

我只想获取对象的已更改属性。是否有任何方法可以返回所有更新的属性? 最佳答案 鉴于您的问题中没有太多细节,我假设您指的是ActiveRecord对象。要查看所谓的“脏对象”的更改属性,您可以执行以下操作:User.changed#=>["name","email"]User.changes#=>{"name"=>["Joe","Joseph"]}如果您需要检查特定的属性,还有针对每个属性的方法。User.name_changed?#=>trueUser.name_change#=>["Joe","Joseph"]更多细节在这里:ht

ruby-on-rails - 检查模型是否在 before_save 事件中被修改或创建

我想检查是否正在Rails的before_save回调中创建模型。我还想检查它是否已被修改(更新时)。谢谢 最佳答案 您可以使用new_record?看看你是否有一个全新的对象和changed?查看是否有任何变化:before_save:pancakesdefpancakesifnew_record?#Notinthedatabaseyet.elsifchanged?#Alreadyexistsbutithasunsavedchanges.endend 关于ruby-on-rails-检

ruby-on-rails - 如何迭代 ActiveRecord 属性,包括 attr_accessor 方法

我到处寻找优雅的解决方案。本质问题似乎是映射到数据库列的ActiveRecord属性在ActiveRecord::Base中的处理方式与attr_accessor方法完全不同。我想做这样的事情:model.attribute_names.eachdo|name|#dostuffend在某种程度上也包括attr_accessor字段,但不包括任何其他实例方法。我知道这不是内置的,但最优雅的方法是什么? 最佳答案 你无法真正解决这个问题。您可以近似破解,但它永远不会很好地工作。model.attribute_names应该给你所有的Ac

ruby - 如何设置 Sequel 模型中的默认值?

给出下面的代码,如何为模型定义默认值。(假设:name的默认值应该是“Thing”)。require'pp'require'sequel'DB=Sequel.sqliteDB.create_table:itemsdoprimary_key:idString:nameenditems=DB[:items]classItem'foobar'Item.createppItem.all#=>#>>[#"foobar",:id=>1}>,#>>#nil,:id=>2}>]所以,我想将第二个创建的项目设置为#"Thing",:id=>2}>而不是:name=>nil。

ruby - 当我在我的模型上运行 RSpec 时,为什么会出现 "strip"和 "downcase"的未定义方法错误?

我在模型上运行RSpec测试并收到字符串方法的错误,例如:“index”、“downcase”和“strip”。知道为什么会这样吗?我该如何解决? 最佳答案 如果您得到“未定义的方法”,那么您正在操作的对象可能不是字符串。在调用.strip等之前尝试打印出.class的结果,然后查看您正在使用的对象类型。通常返回字符串的函数可能会在错误时返回非字符串(如nil),您可能会无意中对类似的东西进行操作。 关于ruby-当我在我的模型上运行RSpec时,为什么会出现"strip"和"downc

ruby - 是否可以从 ruby​​ 脚本导出环境属性?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:ExportinganEnvironmentVariableinRuby我需要在ruby​​脚本中设置几个环境属性。通常,在bash中,我会执行以下操作:$exportSOME_VAR=some_value但在ruby​​中,以下(显然)不起作用:irb(main):002:0>`exportSOME_VAR=some_value`(irb):2:commandnotfound:exportASDF=1=>""有办法吗?

ruby-on-rails - 在 Rails ActiveRecord 验证期间更改或更新属性值

总结:我正在尝试在自定义ActiveModel::EachValidator验证器中更改属性值。给定以下原型(prototype):defvalidate_each(记录,属性,值)尝试设置value=thing似乎没有做任何事情——我是不是遗漏了什么?应该有一个聪明的方法来做到这一点......详细信息:我接受URL输入作为网站的一部分。我不想只获取URL并直接验证它是否返回200OK消息,因为那样会忽略不是以http开头或离开的条目出前导www等。我有一些自定义逻辑来处理这些错误并遵循重定向。因此,如果用户输入example.org/article而不是http://www.exa